Schritt 10: Zugriff aus dem Internet vorbereiten: Ein Netzwerk anlegen
Vorwort
In Schritt 7 wurde zuerst eine Instanz manuell erstellt und in Schritt 9 dann eine Security Group.
Nun ist der nächste Schritt ein virtuelles Netzwerk zu erstellen.
Netzwerk
Den Start dafür macht das eigentliche Netzwerk. Wie bisher gibt es mehrere zusätzliche Optionen, die wie gewohnt mit dem Zusatz --help
aufgelistet werden können.
Um das Netzwerk zu erstellen, nutzen wir den Befehl:
$ openstack network create BeispielNetzwerk
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2017-12-08T12:06:38Z |
| description | |
| dns_domain | None |
| id | ff6d8654-66d6-4881-9528-2686bddcb6dc |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| is_default | False |
| mtu | 1500 |
| name | BeispielNetzwerk |
| port_security_enabled | True |
| project_id | b15cde70d85749689e08106f973bb002 |
| provider:network_type | None |
| provider:physical_network | None |
| provider:segmentation_id | None |
| qos_policy_id | None |
| revision_number | 2 |
| router:external | Internal |
| segments | None |
| shared | False |
| status | ACTIVE |
| subnets | |
| updated_at | 2017-12-08T12:06:38Z |
+---------------------------+--------------------------------------+
Subnet
Da das Netzwerk nun angelegt wurde, ist der nächste logische Schritt, ein zugehöriges Subnet.
Auch das Subnet hat sehr viele zusätzliche Optionen, für das Beispiel werden folgende genutzt:
--network
= Gibt an, in welchem Netzwerk das Subnet angelegt werden soll--subnet-range
= CIDR des Subnets. Im Beispiel wird192.168.2.0/24
verwendet
Um das Subnet in das vorher erstellte Netzwerk zu integrieren und die CIDR zu definieren lautet der korrekte Befehl:
$ openstack subnet create BeispielSubnet --network BeispielNetzwerk --subnet-range 192.168.2.0/24
+-------------------------+--------------------------------------+
| Field | Value |
+-------------------------+--------------------------------------+
| allocation_pools | 192.168.2.2-192.168.2.254 |
| cidr | 192.168.2.0/24 |
| created_at | 2017-12-08T12:09:07Z |
| description | |
| dns_nameservers | |
| enable_dhcp | True |
| gateway_ip | 192.168.2.1 |
| host_routes | |
| id | 984b24bf-db60-46a9-83c3-d68f6f1062e4 |
| ip_version | 4 |
| ipv6_address_mode | None |
| ipv6_ra_mode | None |
| name | BeispielSubnet |
| network_id | ff6d8654-66d6-4881-9528-2686bddcb6dc |
| project_id | b15cde70d85749689e08106f973bb002 |
| revision_number | 0 |
| segment_id | None |
| service_types | |
| subnetpool_id | None |
| updated_at | 2017-12-08T12:09:07Z |
| use_default_subnet_pool | None |
+-------------------------+--------------------------------------+
Router
Damit das Subnet auch sinnvoll genutzt werden kann, wird noch ein virtueller Router benötigt:
$ openstack router create BeispielRouter
+-------------------------+--------------------------------------+
| Field | Value |
+-------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2017-12-08T12:09:49Z |
| description | |
| distributed | False |
| external_gateway_info | None |
| flavor_id | None |
| ha | False |
| id | bfb91c7f-acca-450a-aae0-c519ab563d38 |
| name | BeispielRouter |
| project_id | b15cde70d85749689e08106f973bb002 |
| revision_number | None |
| routes | |
| status | ACTIVE |
| updated_at | 2017-12-08T12:09:49Z |
+-------------------------+--------------------------------------+
Um eine Verbindung ins Internet zu ermöglichen, benötigt der Router ein externes Gateway, welches mit diesem Befehl gesetzt wird:
openstack router set BeispielRouter --external-gateway provider
Da nun schon die Verbindung hergestellt ist, wird dem Router nun noch das Subnet zugewiesen:
openstack router add subnet BeispielRouter BeispielSubnet
Port
Nachdem nun bereits der Router und das Subnet erstellt wurden, fehlt im letzten Schritt noch der zugehörige Port.
Bei der Erstellung wird mit --network
definiert, in welchem Netzwerk der Port verwendet werden soll:
$ openstack port create BeispielPort --network BeispielNetzwerk
+-----------------------+----------------------------------------------------------------------------+
| Field | Value |
+-----------------------+----------------------------------------------------------------------------+
| admin_state_up | UP |
| allowed_address_pairs | |
| binding_host_id | None |
| binding_profile | None |
| binding_vif_details | None |
| binding_vif_type | None |
| binding_vnic_type | normal |
| created_at | 2017-12-08T12:12:13Z |
| description | |
| device_id | |
| device_owner | |
| dns_assignment | None |
| dns_name | None |
| extra_dhcp_opts | |
| fixed_ips | ip_address='192.168.2.8', subnet_id='984b24bf-db60-46a9-83c3-d68f6f1062e4' |
| id | 31777c0a-a952-43ca-bb7f-11ad33926dae |
| ip_address | None |
| mac_address | fa:16:3e:09:88:c8 |
| name | BeispielPort |
| network_id | ff6d8654-66d6-4881-9528-2686bddcb6dc |
| option_name | None |
| option_value | None |
| port_security_enabled | True |
| project_id | b15cde70d85749689e08106f973bb002 |
| qos_policy_id | None |
| revision_number | 3 |
| security_group_ids | 3d3e3074-3087-4965-9a64-34a6d56193b9 |
| status | DOWN |
| subnet_id | None |
| updated_at | 2017-12-08T12:12:13Z |
+-----------------------+----------------------------------------------------------------------------+
Abschluss
Nachdem Router, Subnet und Port angelegt und diese miteinander verknüpft wurden, ist die Einrichtung des Beispielnetzwerks abgeschlossen und im nächsten Schritt fügen wir noch den Zugriff per IPv6 hinzu.